#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QIcon>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //添加水平头--》树根
    ui->treeWidget->setHeaderLabel("QQ好友列表");

    //添加顶层结点--》三个分组
    QStringList list1;
    list1.append("幼儿园同学");
    item1=new QTreeWidgetItem(list1);
    ui->treeWidget->addTopLevelItem(item1);

    QStringList list2;
    list2.append("小学同学");
    item2=new QTreeWidgetItem(list2);
    ui->treeWidget->addTopLevelItem(item2);

    QStringList list3;
    list3.append("初中同学");
    item3=new QTreeWidgetItem(list3);
    ui->treeWidget->addTopLevelItem(item3);

    //添加子节点
    QTreeWidgetItem *item10=new QTreeWidgetItem(QStringList()<<"马云");
    //给"马云"添加图标
    item10->setIcon(0,QIcon("C:/Users/Administrator/Desktop/share/image/my.jpg"));
    QTreeWidgetItem *item11=new QTreeWidgetItem(QStringList()<<"马化腾");
    item1->addChild(item10);
    item1->addChild(item11);

    QTreeWidgetItem *item20=new QTreeWidgetItem(QStringList()<<"周杰伦");
    QTreeWidgetItem *item21=new QTreeWidgetItem(QStringList()<<"邓紫棋");
    item2->addChild(item20);
    item2->addChild(item21);


}

MainWindow::~MainWindow()
{
    delete ui;
}

//双击某个列表项
void MainWindow::on_treeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column)
{
    qDebug()<<"列号: "<<column;
    qDebug()<<"你双击的列表项是： "<<item->text(column);
}
//删除顶层结点
void MainWindow::on_pushButton_2_clicked()
{
    //获取要删除的顶层结点索引号
    QString num=ui->lineEdit_2->text();

    //删除顶层结点
    ui->treeWidget->takeTopLevelItem(num.toInt());
}
//删除子节点
void MainWindow::on_pushButton_3_clicked()
{
    //获取要删除的子结点索引号
    //QString num=ui->lineEdit_3->text();
    //item1->takeChild(num.toInt());  //依据子节点的索引号删除子节点
}
//删除子节点
void MainWindow::on_pushButton_4_clicked()
{
    int i;
    //获取要删除的子结点文本内容
    QString msg=ui->lineEdit_4->text();

    //分别遍历每个顶层结点
    for(i=0; i<item1->childCount(); i++) //遍历幼儿园
    {
        //依据索引号得到对应子节点的地址
        QTreeWidgetItem *childitem=item1->child(i);
        //获取子节点的文本内容
        QString childmsg=childitem->text(0);
        //比较文本内容
        if(childmsg==msg)
            item1->removeChild(childitem);
    }
    for(i=0; i<item2->childCount(); i++) //遍历小学同学
    {
        //依据索引号得到对应子节点的地址
        QTreeWidgetItem *childitem=item2->child(i);
        //获取子节点的文本内容
        QString childmsg=childitem->text(0);
        //比较文本内容
        if(childmsg==msg)
            item2->removeChild(childitem);
    }
    for(i=0; i<item3->childCount(); i++) //遍历初中同学
    {
        //依据索引号得到对应子节点的地址
        QTreeWidgetItem *childitem=item3->child(i);
        //获取子节点的文本内容
        QString childmsg=childitem->text(0);
        //比较文本内容
        if(childmsg==msg)
            item3->removeChild(childitem);
    }



}
